//------------------获取数据并且渲染页面--------------------
let data = {
    pagenum: 1, //页码
    pagesize: 3, //每页显示的条数
    id: null
}

let laypage = layui.laypage
let form = layui.form
    //--------------------发送请求渲染页面----------------
function renderData() {
    $.ajax({
        type: 'GET',
        url: 'admin/users',
        data: {
            pagenum: data.pagenum,
            pagesize: data.pagesize
        },
        success: function(res) {
            // console.log(res);
            getTotal(res.total)
            let arr = []
            res.data.forEach(item => {
                arr.push(` <tr>
             <td>${item.id}</td>
             <td>${item.username}</td>
             <td>${item.nickname}</td>
             <td>${item.email}</td>
             <td>
             <a href='../../../user/edit.html?id=${item.id}'  class="layui-btn   layui-btn-xs">编辑</a>

             <button  id="del_btn" type="button" class="layui-btn   layui-btn-danger  layui-btn-xs" data-id=${item.id}>删除</button>
             <button id="reset_btn" data-id=${item.id}  type="button" class="layui-btn  layui-btn-normal layui-btn-xs" >重置密码</button>
             </td>
         </tr>`)
            })
            $('tbody').html(arr.join(''))
        }
    })
}
renderData()


//----------------分页器-----------------
function getTotal(t) {
    laypage.render({
        elem: 'laypage',
        count: t, //数据总数，从服务端得到
        limit: data.pagesize, //每页显示的条数
        limits: [3, 5, 10, 20, 30], //每页条数的选择项
        layout: ['prev', 'page', 'next', 'count', 'limit'], //下一页上一页等等
        curr: data.pagenum, //起始页
        jump: function(obj, first) {
            //obj包含了当前分页的所有参数，比如：
            // console.log(obj.curr); //得到当前页，以便向服务端请求对应页的数据。
            // console.log(obj.limit); //得到每页显示的条数

            //首次不执行
            if (!first) {
                //do something
                data.pagenum = obj.curr //当前页赋值给页码
                data.pagesize = obj.limit //每页显示的条数
                renderData()
            }
        }
    });
}

//-----------------------点击删除按钮删除数据--------------------
$('tbody').on('click', '#del_btn', function(e) {
    e.preventDefault()
    let id = $(this).data('id')
    console.log(id);
    $.ajax({
        type: 'DELETE',
        url: 'admin/users/' + id + '',
        success: function(res) {
            // console.log(res);
            layer.confirm('是否删除?', function(index) {
                if (res.status === 0) {
                    layer.msg('删除成功');
                    renderData()
                }
                layer.close(index);
            });
        }
    })
})


//-------------------点击按钮重置弹出重置密码弹窗-------------------
$('tbody').on('click', '#reset_btn', function(e) {
    e.preventDefault()
    data.id = $(this).data('id')
    layer.open({
        title: '重置密码',
        content: $('#search').html(),
        area: ['500px', '300px'],

    });

})

//--------------------密码验证----------------------    
form.verify({
    pass: [
        /^[\S]{6,12}$/, '密码必须6到12位，且不能出现空格'
    ],

    same: function(value) {
        if (value !== $('input[name=password]').val()) {
            return '两次输入结果不一致';
        }
    }
})


//-------------------点击提交按钮把重置的密码提交---------------
$('body').on('click', '#post_pwd', function(e) {
    e.preventDefault()
    let password = $('input[name=password]').val() //获取输入密码
    $.ajax({
        url: `admin/users/${data.id}`,
        type: 'PUT',
        data: { password },
        success: function(res) {
            console.log(res);

            layer.msg(res.message);

        }
    })
})